﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Common.Tool
{
    public class FuncHelper
    {
        /// <summary>
        /// 自定义委托
        /// </summary>
        /// <typeparam name="T1">in</typeparam>
        /// <typeparam name="T2">in</typeparam>
        /// <typeparam name="T3">ref</typeparam>
        /// <typeparam name="TResult">return</typeparam>
        /// <param name="obj1">in</param>
        /// <param name="obj2">in</param>
        /// <param name="obj3">ref</param>
        /// <returns></returns>
        public delegate TResult FuncEx<T1, T2, T3, out TResult>(T1 obj1, T2 obj2, ref T3 obj3);

        /// <summary>
        /// 自定义委托
        /// </summary>
        /// <typeparam name="T1">ref</typeparam>
        /// <typeparam name="TResult">return</typeparam>
        /// <param name="obj1">ref</param>
        /// <returns></returns>
        public delegate TResult FuncEx<T1, out TResult>(ref T1 obj1);
    }
}
